<script setup>
import { ref } from 'vue'
import { postHttp, getHttp } from './modal/http'

const goodsList = ref([])
// let a = 99
// console.log('第一次渲染:' + a)

// // setTimeout(() => {
// //   a = 88
// //   console.log('第二次渲染改变A的值:' + a)
// // }, 2000)
// const promise = () => {
//   return new Promise((resolve, reject) => {
//     setTimeout(() => {
//       a = 88
//       resolve(a)
//     }, 2000)
//   })
// }

// const testA = async () => {
//   const b = promise()
//     .then((res) => {
//       // 对应resolve的返回回调
//       console.log('第二次渲染:' + res)
//     })
//     .catch((err) => {
//       // 对应reject的返回回调
//       console.log(err)
//     })
//     .finally(() => {
//       // 不管是resolve的返回还是reject的返回，始终会执行的回调
//       console.log(a)
//     })
//   return b
// }

// // await // 等待
// // async // 异步

// await testA()

// console.log('第三次渲染:' + a)
// console.log(b)

// promise().then((res) => {
//   console.log(res)
//   console.log(a)
// })

// console.log(b)

// Example POST method implementation:
// async function postData(url = '', data = {}) {
//   // Default options are marked with *
//   const response = await fetch(url, {
//     method: 'POST', // *GET, POST, PUT, DELETE, etc.
//     headers: {
//       'Content-Type': 'application/json' // 你是以json的文本发送给后端
//       // 'Content-Type': 'application/x-www-form-urlencoded',  // 以formData的方式发送给后端
//     },
//     body: JSON.stringify(data) // body data type must match "Content-Type" header    JSON.parse  把字符串格式化为对象   JSON.stringify  把对象格式化为字符串
//   })
//   return response.json() // parses JSON response into native JavaScript objects
//   // return response // parses JSON response into native JavaScript objects
// }

const getGoodsList = () => {
  // getHttp('http://43.136.174.206:8888/getUserInfo', { userId: 1 }).then((res) => {
  //   if (res?.code === 200) {
  //     console.log(res.data)
  //     // goodsList.value = res.data
  //     // console.log(goodsList.value)
  //   }
  // })
  postHttp('http://43.136.174.206:8888/goodsList', { userId: 1 }).then((res) => {
    if (res?.code === 200) {
      goodsList.value = res.data
      console.log(goodsList.value)
    }
  })
}
getGoodsList()

// async function getData(url = '') {
//   // Default options are marked with *
//   const response = await fetch(url, {
//     method: 'GET', // *GET, POST, PUT, DELETE, etc.
//     mode: 'cors', // no-cors, *cors, same-origin
//     cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
//     credentials: 'same-origin', // include, *same-origin, omit
//     headers: {
//       'Content-Type': 'application/json'
//       // 'Content-Type': 'application/x-www-form-urlencoded',
//     },
//     redirect: 'follow', // manual, *follow, error
//     referrerPolicy: 'no-referrer' // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
//   })
//   return response.json() // parses JSON response into native JavaScript objects
// }

// getData('http://43.136.174.206:8888/searchTags').then((data) => {
//   console.log(data) // JSON data parsed by `data.json()` call
// })
</script>

<template>
  <p v-for="(item, index) in goodsList" :key="index">{{ item.name }} -- {{ item.price }}</p>
</template>
